<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Newton Dynamics: ndCudaContext Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo_php.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Newton Dynamics
   &#160;<span id="projectnumber">4.00</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.svg"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classnd_cuda_context.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classnd_cuda_context-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ndCudaContext Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ndCudaContext:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classnd_cuda_context.png" usemap="#ndCudaContext_map" alt=""/>
  <map id="ndCudaContext_map" name="ndCudaContext_map">
<area href="classnd_world_scene_cuda.html" alt="ndWorldSceneCuda" shape="rect" coords="0,56,125,80"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7bbb7dd2163b0d671e10303aa3bbe10a"><td class="memItemLeft" align="right" valign="top"><a id="a7bbb7dd2163b0d671e10303aa3bbe10a"></a>
D_CUDA_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsValid</b> () const</td></tr>
<tr class="separator:a7bbb7dd2163b0d671e10303aa3bbe10a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b29683a15e8cf948bc2327140007de"><td class="memItemLeft" align="right" valign="top"><a id="ab5b29683a15e8cf948bc2327140007de"></a>
D_CUDA_API const char *&#160;</td><td class="memItemRight" valign="bottom"><b>GetStringId</b> () const</td></tr>
<tr class="separator:ab5b29683a15e8cf948bc2327140007de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6ff57cb59c2ba654fcd50a4362a404d"><td class="memItemLeft" align="right" valign="top"><a id="ab6ff57cb59c2ba654fcd50a4362a404d"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>Begin</b> ()</td></tr>
<tr class="separator:ab6ff57cb59c2ba654fcd50a4362a404d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab305ba925f13077cc2a39a8cef5dda02"><td class="memItemLeft" align="right" valign="top"><a id="ab305ba925f13077cc2a39a8cef5dda02"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>End</b> ()</td></tr>
<tr class="separator:ab305ba925f13077cc2a39a8cef5dda02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70dd87dd81fc6f08f1a87ef655c4794b"><td class="memItemLeft" align="right" valign="top"><a id="a70dd87dd81fc6f08f1a87ef655c4794b"></a>
D_CUDA_API double&#160;</td><td class="memItemRight" valign="bottom"><b>GetGPUTime</b> () const</td></tr>
<tr class="separator:a70dd87dd81fc6f08f1a87ef655c4794b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34f6e44a1a624659fdc27da996d664e5"><td class="memItemLeft" align="right" valign="top"><a id="a34f6e44a1a624659fdc27da996d664e5"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>ResizeBuffers</b> (int size)</td></tr>
<tr class="separator:a34f6e44a1a624659fdc27da996d664e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21162493730a7698f7117a3fb9fbb7e"><td class="memItemLeft" align="right" valign="top"><a id="aa21162493730a7698f7117a3fb9fbb7e"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>LoadBodyData</b> (const <a class="el" href="classnd_cuda_body_proxy.html">ndCudaBodyProxy</a> *const src, int size)</td></tr>
<tr class="separator:aa21162493730a7698f7117a3fb9fbb7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d74bd894b0557cf13c254b3ce0edfaa"><td class="memItemLeft" align="right" valign="top"><a id="a4d74bd894b0557cf13c254b3ce0edfaa"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>InitBodyArray</b> ()</td></tr>
<tr class="separator:a4d74bd894b0557cf13c254b3ce0edfaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a313f39a6fd92f21ee603ff48dfabffa1"><td class="memItemLeft" align="right" valign="top"><a id="a313f39a6fd92f21ee603ff48dfabffa1"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>UpdateTransform</b> ()</td></tr>
<tr class="separator:a313f39a6fd92f21ee603ff48dfabffa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae04a3f5f3760ab798a70a7c63de3a52d"><td class="memItemLeft" align="right" valign="top"><a id="ae04a3f5f3760ab798a70a7c63de3a52d"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateContextBuffers</b> ()</td></tr>
<tr class="separator:ae04a3f5f3760ab798a70a7c63de3a52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfab8de92311a2f6406fae8c4b7f20cd"><td class="memItemLeft" align="right" valign="top"><a id="acfab8de92311a2f6406fae8c4b7f20cd"></a>
D_CUDA_API <a class="el" href="classnd_cuda_spatial_vector.html">ndCudaSpatialVector</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetTransformBuffer</b> ()</td></tr>
<tr class="separator:acfab8de92311a2f6406fae8c4b7f20cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e65c6772d55d4a43bbf3836eed9138a"><td class="memItemLeft" align="right" valign="top"><a id="a1e65c6772d55d4a43bbf3836eed9138a"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>IntegrateBodies</b> (float timestep)</td></tr>
<tr class="separator:a1e65c6772d55d4a43bbf3836eed9138a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cc49a6b8662f7c8763d6b61576de666"><td class="memItemLeft" align="right" valign="top"><a id="a0cc49a6b8662f7c8763d6b61576de666"></a>
D_CUDA_API void&#160;</td><td class="memItemRight" valign="bottom"><b>IntegrateUnconstrainedBodies</b> (float timestep)</td></tr>
<tr class="separator:a0cc49a6b8662f7c8763d6b61576de666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb8e1d41e875c098b0004f690141e4ff"><td class="memItemLeft" align="right" valign="top"><a id="acb8e1d41e875c098b0004f690141e4ff"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SwapBuffers</b> ()</td></tr>
<tr class="separator:acb8e1d41e875c098b0004f690141e4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a9c9b37699bb6ec63a72214346aa61552"><td class="memItemLeft" align="right" valign="top"><a id="a9c9b37699bb6ec63a72214346aa61552"></a>
static <a class="el" href="classnd_cuda_context.html">ndCudaContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>CreateContext</b> ()</td></tr>
<tr class="separator:a9c9b37699bb6ec63a72214346aa61552"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a5268b2629cc27576f3bfd85d92950f2d"><td class="memItemLeft" align="right" valign="top"><a id="a5268b2629cc27576f3bfd85d92950f2d"></a>
<a class="el" href="classnd_cuda_device.html">ndCudaDevice</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_device</b></td></tr>
<tr class="separator:a5268b2629cc27576f3bfd85d92950f2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed80c2b7969cc8ac0cc84a7473fcb45"><td class="memItemLeft" align="right" valign="top"><a id="abed80c2b7969cc8ac0cc84a7473fcb45"></a>
<a class="el" href="classnd_cuda_context_implement.html">ndCudaContextImplement</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_implement</b></td></tr>
<tr class="separator:abed80c2b7969cc8ac0cc84a7473fcb45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac74be9bc2c2cbf787cf66cd90bfebd46"><td class="memItemLeft" align="right" valign="top"><a id="ac74be9bc2c2cbf787cf66cd90bfebd46"></a>
cuSceneInfo *&#160;</td><td class="memItemRight" valign="bottom"><b>m_sceneInfoGpu</b></td></tr>
<tr class="separator:ac74be9bc2c2cbf787cf66cd90bfebd46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab08dacbe152beaab9ea90f52c4cd48cf"><td class="memItemLeft" align="right" valign="top"><a id="ab08dacbe152beaab9ea90f52c4cd48cf"></a>
cuSceneInfo *&#160;</td><td class="memItemRight" valign="bottom"><b>m_sceneInfoCpu</b></td></tr>
<tr class="separator:ab08dacbe152beaab9ea90f52c4cd48cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2684df272b0e548ba1f0beb51d99d247"><td class="memItemLeft" align="right" valign="top"><a id="a2684df272b0e548ba1f0beb51d99d247"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; unsigned &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_histogram</b></td></tr>
<tr class="separator:a2684df272b0e548ba1f0beb51d99d247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae542bb21016a6ede5959020c65eae0c2"><td class="memItemLeft" align="right" valign="top"><a id="ae542bb21016a6ede5959020c65eae0c2"></a>
<a class="el" href="classnd_array.html">ndArray</a>&lt; <a class="el" href="classcu_body_proxy.html">cuBodyProxy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyBufferCpu</b></td></tr>
<tr class="separator:ae542bb21016a6ede5959020c65eae0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2546a314c0db075f49d58315c5e25195"><td class="memItemLeft" align="right" valign="top"><a id="a2546a314c0db075f49d58315c5e25195"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_body_proxy.html">cuBodyProxy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyBufferGpu</b></td></tr>
<tr class="separator:a2546a314c0db075f49d58315c5e25195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a277cfcabeb545c1eaafe7505969f11cd"><td class="memItemLeft" align="right" valign="top"><a id="a277cfcabeb545c1eaafe7505969f11cd"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_body_aabb_cell.html">cuBodyAabbCell</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyAabbCell</b></td></tr>
<tr class="separator:a277cfcabeb545c1eaafe7505969f11cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cc8bd106ad7ecb08c882a9392100081"><td class="memItemLeft" align="right" valign="top"><a id="a6cc8bd106ad7ecb08c882a9392100081"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_body_aabb_cell.html">cuBodyAabbCell</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyAabbCellScrath</b></td></tr>
<tr class="separator:a6cc8bd106ad7ecb08c882a9392100081"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15728db95f7da88bfaf269cf8bf13f93"><td class="memItemLeft" align="right" valign="top"><a id="a15728db95f7da88bfaf269cf8bf13f93"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_bounding_box.html">cuBoundingBox</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_boundingBoxGpu</b></td></tr>
<tr class="separator:a15728db95f7da88bfaf269cf8bf13f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ecc88d657089d51010989bdfa04b189"><td class="memItemLeft" align="right" valign="top"><a id="a0ecc88d657089d51010989bdfa04b189"></a>
<a class="el" href="classcu_host_buffer.html">cuHostBuffer</a>&lt; <a class="el" href="classcu_spatial_vector.html">cuSpatialVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_transformBufferCpu0</b></td></tr>
<tr class="separator:a0ecc88d657089d51010989bdfa04b189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b5823cc3a7e12d153caf43edbdb624"><td class="memItemLeft" align="right" valign="top"><a id="ad2b5823cc3a7e12d153caf43edbdb624"></a>
<a class="el" href="classcu_host_buffer.html">cuHostBuffer</a>&lt; <a class="el" href="classcu_spatial_vector.html">cuSpatialVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_transformBufferCpu1</b></td></tr>
<tr class="separator:ad2b5823cc3a7e12d153caf43edbdb624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8054ec078f5104876c1f7283731d6ad"><td class="memItemLeft" align="right" valign="top"><a id="ac8054ec078f5104876c1f7283731d6ad"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_spatial_vector.html">cuSpatialVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_transformBufferGpu0</b></td></tr>
<tr class="separator:ac8054ec078f5104876c1f7283731d6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a760421906cfab66eb7fc03d9e4040a07"><td class="memItemLeft" align="right" valign="top"><a id="a760421906cfab66eb7fc03d9e4040a07"></a>
<a class="el" href="classcu_device_buffer.html">cuDeviceBuffer</a>&lt; <a class="el" href="classcu_spatial_vector.html">cuSpatialVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>m_transformBufferGpu1</b></td></tr>
<tr class="separator:a760421906cfab66eb7fc03d9e4040a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a115d5a083357e2d021ead2b4a2bf685e"><td class="memItemLeft" align="right" valign="top"><a id="a115d5a083357e2d021ead2b4a2bf685e"></a>
cudaStream_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_solverMemCpyStream</b></td></tr>
<tr class="separator:a115d5a083357e2d021ead2b4a2bf685e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25d0b0523cfafe026a77f8a1b8a3378"><td class="memItemLeft" align="right" valign="top"><a id="ad25d0b0523cfafe026a77f8a1b8a3378"></a>
cudaStream_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_solverComputeStream</b></td></tr>
<tr class="separator:ad25d0b0523cfafe026a77f8a1b8a3378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66972fe97538c0d5ecea67da5300cfe6"><td class="memItemLeft" align="right" valign="top"><a id="a66972fe97538c0d5ecea67da5300cfe6"></a>
ndInt32&#160;</td><td class="memItemRight" valign="bottom"><b>m_frameCounter</b></td></tr>
<tr class="separator:a66972fe97538c0d5ecea67da5300cfe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classnd_cuda_context.html">ndCudaContext</a></li>
    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
  </ul>
</div>
</body>
</html>
